#include "lector.h"
#include "ui_lector.h"

Lector::Lector(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Lector)
{
    ui->setupUi(this);
    ui->mainToolBar->addWidget(ui->lblnavegacion);
    this->setWindowState(Qt::WindowMaximized);
}

Lector::~Lector()
{
    delete ui;
}


void Lector::on_actionAbrir_triggered()
{
    listaImagenes=QFileDialog::getOpenFileNames
     (this,tr("Abrir Archivo"),QDir::currentPath(),
        "Images (*.png *.bmp *.jpg *.gif)");
    posicion=0;
    cantidad=0;

    if (!listaImagenes.isEmpty())
    {
        listaImagenes.sort();
        cantidad=listaImagenes.count();
       temp=listaImagenes.value(posicion);


        Imagen.load(temp);

        //si no selecciono ninguna imagen
        if(Imagen.isNull())
        {
            //creando el messagebox


            QMessageBox msg(this);
            //poniendole un titulo
            msg.setWindowTitle("Error");
            //poniendole un mensaje
            //
            msg.setText(tr("erro %1.").arg(temp));
            //asignandole un icono
            msg.setIcon(QMessageBox::Information);
            //mostrando el messagebox
            msg.exec();
        }
        //cargando la imagen
this->Mostrar();
//this->Ruta();

    }

}
void Lector::Mostrar()
{
    ui->label->setPixmap(QPixmap::fromImage(Imagen));
    //ui->label->adjustSize();
    ui->lblnavegacion->setText("Imagen "+ QString::number( this->posicion+1) + " de "+ QString::number(this->cantidad));
}

void Lector::on_actionSalir_triggered()
{
    this->close();
}

void Lector::on_actionInicio_triggered()
{
    if(listaImagenes.isEmpty())
    {
        return;
    }
    this->posicion=0;
    temp=listaImagenes.value(posicion);
    Imagen.load(temp);
    this->Mostrar();
   // this->Ruta();
}

void Lector::on_actionSiguiente_triggered()
{
    if(listaImagenes.isEmpty())
    {
        return;
    }
    if (this->posicion==this->cantidad-1)
    {
        this->posicion=0;
    }
    else
    {

    this->posicion=this->posicion +1;

   // this->Ruta();
    }
    temp=listaImagenes.value(posicion);
    Imagen.load(temp);
    this->Mostrar();
}

void Lector::on_actionAnterior_triggered()
{
    if(listaImagenes.isEmpty())
    {
        return;
    }
    if (this->posicion==0)
    {
        this->posicion=this->cantidad -1;
    }
else
    {
    this->posicion=this->posicion -1;
    }




    temp=listaImagenes.value(posicion);
    Imagen.load(temp);
    this->Mostrar();
   // this->Ruta();

}

void Lector::on_actionFinal_triggered()
{
    if(listaImagenes.isEmpty())
    {
        return;
    }
    this->posicion=this->cantidad - 1;
    temp=listaImagenes.value(posicion);
    Imagen.load(temp);
    this->Mostrar();
   // this->Ruta();
}
